<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Lucene与Elasticsearch深度解析 | 技术小馆</title>
    <link rel="stylesheet" href="https://cdn.staticfile.org/font-awesome/6.4.0/css/all.min.css">
    <link rel="stylesheet" href="https://cdn.staticfile.org/tailwindcss/2.2.19/tailwind.min.css">
    <link href="https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;500;600;700&family=Noto+Sans+SC:wght@300;400;500;700&display=swap" rel="stylesheet">
    <script src="https://cdn.jsdelivr.net/npm/mermaid@latest/dist/mermaid.min.js"></script>
    <style>
        body {
            font-family: 'Noto Sans SC', Tahoma, Arial, Roboto, "Droid Sans", "Helvetica Neue", "Droid Sans Fallback", "Heiti SC", "Hiragino Sans GB", Simsun, sans-serif;
            color: #333;
            line-height: 1.8;
        }
        h1, h2, h3, h4 {
            font-family: 'Noto Serif SC', serif;
            font-weight: 600;
        }
        .hero-gradient {
            background: linear-gradient(135deg, #3a7bd5 0%, #00d2ff 100%);
        }
        .card-hover {
            transition: all 0.3s ease;
        }
        .card-hover:hover {
            transform: translateY(-5px);
            box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
        }
        .highlight-box {
            border-left: 4px solid #3a7bd5;
            background-color: #f8fafc;
        }
        .dropdown-enter-active, .dropdown-leave-active {
            transition: all 0.3s ease;
        }
        .dropdown-enter, .dropdown-leave-to {
            opacity: 0;
            transform: translateY(-10px);
        }
    </style>
</head>
<body class="bg-gray-50">
    <!-- Hero Section -->
    <section class="hero-gradient text-white py-20 md:py-32 px-4 md:px-0">
        <div class="container mx-auto max-w-5xl text-center">
            <div class="inline-block bg-white bg-opacity-20 rounded-full px-6 py-2 mb-6">
                <span class="text-sm font-medium">搜索引擎技术解析</span>
            </div>
            <h1 class="text-4xl md:text-5xl font-bold mb-6">Lucene与Elasticsearch深度解析</h1>
            <p class="text-xl md:text-2xl opacity-90 max-w-3xl mx-auto mb-8">大数据时代搜索引擎技术的核心比较与应用场景</p>
            <div class="flex justify-center space-x-4">
                <a href="#comparison" class="bg-white text-blue-600 hover:bg-blue-50 px-6 py-3 rounded-full font-medium transition-colors duration-300">
                    <i class="fas fa-balance-scale mr-2"></i>立即比较
                </a>
                <a href="#visualization" class="border-2 border-white hover:bg-white hover:bg-opacity-10 px-6 py-3 rounded-full font-medium transition-colors duration-300">
                    <i class="fas fa-project-diagram mr-2"></i>可视化分析
                </a>
            </div>
        </div>
    </section>

    <!-- Main Content -->
    <div class="container mx-auto max-w-5xl px-4 md:px-0 py-12 md:py-16">
        <!-- Introduction -->
        <section class="mb-20">
            <p class="text-lg text-gray-700 leading-relaxed">
                在大数据时代，搜索引擎已经成为了众多应用系统不可或缺的一部分，无论是电子商务网站、社交平台，还是企业内部搜索，搜索引擎都在其中扮演着至关重要的角色。Lucene 和 Elasticsearch 是当前最流行的两种搜索引擎解决方案，它们各自在搜索领域拥有广泛的应用，但二者有着本质的差异。
            </p>
        </section>

        <!-- Overview Section -->
        <section class="mb-20">
            <h2 class="text-3xl font-bold mb-8 pb-4 border-b border-gray-200 flex items-center">
                <span class="w-8 h-8 bg-blue-500 text-white rounded-full flex items-center justify-center mr-4">1</span>
                Lucene 与 Elasticsearch 概述
            </h2>

            <div class="grid md:grid-cols-2 gap-8">
                <!-- Lucene Card -->
                <div class="bg-white rounded-xl shadow-md overflow-hidden card-hover">
                    <div class="p-6">
                        <div class="flex items-center mb-4">
                            <div class="w-12 h-12 bg-blue-100 rounded-full flex items-center justify-center mr-4">
                                <i class="fas fa-search text-blue-600 text-xl"></i>
                            </div>
                            <h3 class="text-2xl font-bold">什么是 Lucene？</h3>
                        </div>
                        <p class="text-gray-700 mb-4">
                            Apache Lucene 是一个高性能、开源的信息检索库，它是一个 <span class="font-bold text-blue-600">全文搜索引擎</span>，主要用于构建搜索引擎。Lucene 提供了丰富的功能，如索引创建、搜索查询、排名算法等。
                        </p>
                        <p class="text-gray-700">
                            Lucene 本身并不提供可视化的界面或集群管理功能，而是作为基础的搜索库供开发者使用。它适合需要自定义搜索引擎、对性能要求较高的应用。
                        </p>
                    </div>
                </div>

                <!-- Elasticsearch Card -->
                <div class="bg-white rounded-xl shadow-md overflow-hidden card-hover">
                    <div class="p-6">
                        <div class="flex items-center mb-4">
                            <div class="w-12 h-12 bg-green-100 rounded-full flex items-center justify-center mr-4">
                                <i class="fas fa-network-wired text-green-600 text-xl"></i>
                            </div>
                            <h3 class="text-2xl font-bold">什么是 Elasticsearch？</h3>
                        </div>
                        <p class="text-gray-700 mb-4">
                            Elasticsearch 是基于 Lucene 的分布式搜索引擎，提供了更高层次的抽象和强大的功能。它不仅具备 Lucene 的全文搜索能力，还引入了分布式计算、RESTful API、实时数据分析等功能。
                        </p>
                        <p class="text-gray-700">
                            Elasticsearch 本质上是对 Lucene 的封装和增强，提供了易于操作的接口，支持多节点集群管理，适用于大规模数据的分布式搜索需求。
                        </p>
                    </div>
                </div>
            </div>
        </section>

        <!-- Architecture Section -->
        <section class="mb-20" id="architecture">
            <h2 class="text-3xl font-bold mb-8 pb-4 border-b border-gray-200 flex items-center">
                <span class="w-8 h-8 bg-blue-500 text-white rounded-full flex items-center justify-center mr-4">2</span>
                架构设计与实现
            </h2>

            <div class="grid md:grid-cols-2 gap-8 mb-12">
                <!-- Lucene Architecture -->
                <div>
                    <h3 class="text-2xl font-bold mb-6 flex items-center">
                        <i class="fas fa-server text-blue-500 mr-3"></i>
                        Lucene 架构
                    </h3>
                    <p class="text-gray-700 mb-6">
                        Lucene 采用的是 <span class="font-bold text-blue-600">单机架构</span>，主要包含以下几个组件：
                    </p>
                    <ul class="space-y-3">
                        <li class="flex items-start">
                            <div class="w-6 h-6 bg-blue-100 text-blue-600 rounded-full flex items-center justify-center flex-shrink-0 mt-1 mr-3">
                                <i class="fas fa-file-alt text-sm"></i>
                            </div>
                            <span><strong>Document</strong>：Lucene 中的最基本单元，表示一条记录。</span>
                        </li>
                        <li class="flex items-start">
                            <div class="w-6 h-6 bg-blue-100 text-blue-600 rounded-full flex items-center justify-center flex-shrink-0 mt-1 mr-3">
                                <i class="fas fa-key text-sm"></i>
                            </div>
                            <span><strong>Field</strong>：Document 由若干个 Field 组成，Field 表示字段。</span>
                        </li>
                        <li class="flex items-start">
                            <div class="w-6 h-6 bg-blue-100 text-blue-600 rounded-full flex items-center justify-center flex-shrink-0 mt-1 mr-3">
                                <i class="fas fa-cut text-sm"></i>
                            </div>
                            <span><strong>Analyzer</strong>：用于处理文本数据，如分词器、过滤器。</span>
                        </li>
                        <li class="flex items-start">
                            <div class="w-6 h-6 bg-blue-100 text-blue-600 rounded-full flex items-center justify-center flex-shrink-0 mt-1 mr-3">
                                <i class="fas fa-database text-sm"></i>
                            </div>
                            <span><strong>Index</strong>：Lucene 使用倒排索引（Inverted Index）来加速搜索。</span>
                        </li>
                        <li class="flex items-start">
                            <div class="w-6 h-6 bg-blue-100 text-blue-600 rounded-full flex items-center justify-center flex-shrink-0 mt-1 mr-3">
                                <i class="fas fa-search text-sm"></i>
                            </div>
                            <span><strong>Query</strong>：用于查询数据。</span>
                        </li>
                    </ul>
                    <div class="mt-6 p-4 rounded-lg highlight-box">
                        <p class="text-gray-700">
                            Lucene 需要开发者自己管理数据存储、索引分片等复杂的底层细节，适合需要高度定制化的应用。
                        </p>
                    </div>
                </div>

                <!-- Elasticsearch Architecture -->
                <div>
                    <h3 class="text-2xl font-bold mb-6 flex items-center">
                        <i class="fas fa-sitemap text-green-500 mr-3"></i>
                        Elasticsearch 架构
                    </h3>
                    <p class="text-gray-700 mb-6">
                        Elasticsearch 采用的是 <span class="font-bold text-green-600">分布式架构</span>，其核心架构包括：
                    </p>
                    <ul class="space-y-3">
                        <li class="flex items-start">
                            <div class="w-6 h-6 bg-green-100 text-green-600 rounded-full flex items-center justify-center flex-shrink-0 mt-1 mr-3">
                                <i class="fas fa-server text-sm"></i>
                            </div>
                            <span><strong>Node</strong>：Elasticsearch 由多个节点组成，每个节点代表一个服务实例。</span>
                        </li>
                        <li class="flex items-start">
                            <div class="w-6 h-6 bg-green-100 text-green-600 rounded-full flex items-center justify-center flex-shrink-0 mt-1 mr-3">
                                <i class="fas fa-project-diagram text-sm"></i>
                            </div>
                            <span><strong>Cluster</strong>：多个节点组成一个集群，共同提供搜索服务。</span>
                        </li>
                        <li class="flex items-start">
                            <div class="w-6 h-6 bg-green-100 text-green-600 rounded-full flex items-center justify-center flex-shrink-0 mt-1 mr-3">
                                <i class="fas fa-table text-sm"></i>
                            </div>
                            <span><strong>Index</strong>：类似于数据库中的表，一个索引是一个逻辑数据单元，包含多个文档。</span>
                        </li>
                        <li class="flex items-start">
                            <div class="w-6 h-6 bg-green-100 text-green-600 rounded-full flex items-center justify-center flex-shrink-0 mt-1 mr-3">
                                <i class="fas fa-puzzle-piece text-sm"></i>
                            </div>
                            <span><strong>Shards</strong>：为了实现分布式存储，Elasticsearch 会将索引分为多个分片（Shards），每个分片可以分布到不同的节点上。</span>
                        </li>
                        <li class="flex items-start">
                            <div class="w-6 h-6 bg-green-100 text-green-600 rounded-full flex items-center justify-center flex-shrink-0 mt-1 mr-3">
                                <i class="fas fa-copy text-sm"></i>
                            </div>
                            <span><strong>Replica</strong>：为了实现高可用，Elasticsearch 支持分片副本，副本和原始分片存储在不同的节点上，增强了容错能力。</span>
                        </li>
                    </ul>
                    <div class="mt-6 p-4 rounded-lg highlight-box border-l-green-500">
                        <p class="text-gray-700">
                            Elasticsearch 通过自动分片和副本机制，解决了大规模数据分布式存储和搜索的问题。
                        </p>
                    </div>
                </div>
            </div>

            <!-- Architecture Diagram -->
            <div class="bg-white rounded-xl shadow-md overflow-hidden p-6 mb-12">
                <h3 class="text-2xl font-bold mb-6 text-center">架构对比可视化</h3>
                <div class="mermaid">
                    graph LR
                        subgraph Lucene[单机架构]
                            direction TB
                            A[Document] --> B[Index]
                            C[Analyzer] --> B
                            B --> D[Query]
                        end

                        subgraph ES[Elasticsearch 分布式架构]
                            direction TB
                            N1[Node 1] --> CL[Cluster]
                            N2[Node 2] --> CL
                            N3[Node 3] --> CL
                            CL --> I[Index]
                            I --> S1[Shard 1]
                            I --> S2[Shard 2]
                            S1 --> R1[Replica]
                            S2 --> R2[Replica]
                        end
                </div>
            </div>
        </section>

        <!-- Features Comparison Section -->
        <section class="mb-20" id="comparison">
            <h2 class="text-3xl font-bold mb-8 pb-4 border-b border-gray-200 flex items-center">
                <span class="w-8 h-8 bg-blue-500 text-white rounded-full flex items-center justify-center mr-4">3</span>
                功能特点对比
            </h2>

            <div class="bg-white rounded-xl shadow-md overflow-hidden mb-12">
                <div class="grid md:grid-cols-2 divide-x divide-gray-200">
                    <!-- Lucene Features -->
                    <div class="p-6">
                        <h3 class="text-2xl font-bold mb-6 text-center text-blue-600">
                            <i class="fas fa-search mr-2"></i>Lucene 功能
                        </h3>
                        <ul class="space-y-4">
                            <li class="flex items-start">
                                <div class="w-6 h-6 bg-blue-100 text-blue-600 rounded-full flex items-center justify-center flex-shrink-0 mt-1 mr-3">
                                    <i class="fas fa-check"></i>
                                </div>
                                <span><strong>全文检索</strong>：Lucene 支持高效的全文检索，可以进行模糊匹配、短语匹配等操作。</span>
                            </li>
                            <li class="flex items-start">
                                <div class="w-6 h-6 bg-blue-100 text-blue-600 rounded-full flex items-center justify-center flex-shrink-0 mt-1 mr-3">
                                    <i class="fas fa-check"></i>
                                </div>
                                <span><strong>排序与过滤</strong>：Lucene 可以对搜索结果进行排序和过滤。</span>
                            </li>
                            <li class="flex items-start">
                                <div class="w-6 h-6 bg-blue-100 text-blue-600 rounded-full flex items-center justify-center flex-shrink-0 mt-1 mr-3">
                                    <i class="fas fa-check"></i>
                                </div>
                                <span><strong>多字段搜索</strong>：Lucene 支持在多个字段上进行查询，满足复杂的查询需求。</span>
                            </li>
                            <li class="flex items-start">
                                <div class="w-6 h-6 bg-blue-100 text-blue-600 rounded-full flex items-center justify-center flex-shrink-0 mt-1 mr-3">
                                    <i class="fas fa-check"></i>
                                </div>
                                <span><strong>高亮显示</strong>：Lucene 支持高亮显示查询结果中的匹配部分。</span>
                            </li>
                        </ul>
                        <div class="mt-6 p-4 rounded-lg bg-blue-50">
                            <p class="text-gray-700">
                                然而，Lucene 本身并不直接提供分布式支持、集群管理和高度集成的 API，开发者需要通过外部的工具或者自己构建这些功能。
                            </p>
                        </div>
                    </div>

                    <!-- Elasticsearch Features -->
                    <div class="p-6">
                        <h3 class="text-2xl font-bold mb-6 text-center text-green-600">
                            <i class="fas fa-network-wired mr-2"></i>Elasticsearch 功能
                        </h3>
                        <ul class="space-y-4">
                            <li class="flex items-start">
                                <div class="w-6 h-6 bg-green-100 text-green-600 rounded-full flex items-center justify-center flex-shrink-0 mt-1 mr-3">
                                    <i class="fas fa-check"></i>
                                </div>
                                <span><strong>分布式存储</strong>：支持水平扩展，自动分片和副本机制，可以轻松地扩展至多台机器。</span>
                            </li>
                            <li class="flex items-start">
                                <div class="w-6 h-6 bg-green-100 text-green-600 rounded-full flex items-center justify-center flex-shrink-0 mt-1 mr-3">
                                    <i class="fas fa-check"></i>
                                </div>
                                <span><strong>RESTful API</strong>：通过 HTTP 协议提供了简单的 RESTful API，易于与其他应用系统进行集成。</span>
                            </li>
                            <li class="flex items-start">
                                <div class="w-6 h-6 bg-green-100 text-green-600 rounded-full flex items-center justify-center flex-shrink-0 mt-1 mr-3">
                                    <i class="fas fa-check"></i>
                                </div>
                                <span><strong>实时搜索</strong>：Elasticsearch 是实时搜索引擎，几乎可以即时检索到新插入的数据。</span>
                            </li>
                            <li class="flex items-start">
                                <div class="w-6 h-6 bg-green-100 text-green-600 rounded-full flex items-center justify-center flex-shrink-0 mt-1 mr-3">
                                    <i class="fas fa-check"></i>
                                </div>
                                <span><strong>聚合分析</strong>：除了基本的搜索功能，Elasticsearch 还提供了强大的聚合分析功能，可以对数据进行统计分析。</span>
                            </li>
                            <li class="flex items-start">
                                <div class="w-6 h-6 bg-green-100 text-green-600 rounded-full flex items-center justify-center flex-shrink-0 mt-1 mr-3">
                                    <i class="fas fa-check"></i>
                                </div>
                                <span><strong>全文搜索与排名</strong>：与 Lucene 一样，Elasticsearch 也支持全文检索，并且提供了更多的搜索优化手段。</span>
                            </li>
                        </ul>
                        <div class="mt-6 p-4 rounded-lg bg-green-50">
                            <p class="text-gray-700">
                                Elasticsearch 通过简化集群管理、API 操作，解决了大规模分布式数据搜索的挑战，适合大规模、高并发的应用场景。
                            </p>
                        </div>
                    </div>
                </div>
            </div>
        </section>

        <!-- Performance Section -->
        <section class="mb-20">
            <h2 class="text-3xl font-bold mb-8 pb-4 border-b border-gray-200 flex items-center">
                <span class="w-8 h-8 bg-blue-500 text-white rounded-full flex items-center justify-center mr-4">4</span>
                性能与扩展性对比
            </h2>

            <div class="grid md:grid-cols-2 gap-8 mb-12">
                <!-- Lucene Performance -->
                <div class="bg-white rounded-xl shadow-md overflow-hidden card-hover">
                    <div class="p-6">
                        <h3 class="text-2xl font-bold mb-6 flex items-center">
                            <i class="fas fa-tachometer-alt text-blue-500 mr-3"></i>
                            Lucene 性能
                        </h3>
                        <p class="text-gray-700 mb-4">
                            Lucene 在单机环境中具有非常高的性能，尤其是在处理大量的文档和复杂查询时，能够通过倒排索引和高效的搜索算法，提供快速的查询响应。对于单机的中小型项目，Lucene 是一个非常高效的选择。
                        </p>
                        <div class="p-4 rounded-lg bg-blue-50">
                            <p class="text-gray-700">
                                然而，Lucene 仅限于单机模式，无法直接支持分布式存储和计算。在大数据量和高并发的场景下，Lucene 的性能瓶颈会暴露出来，尤其是当数据量增大时，单台机器的存储和计算能力可能无法满足需求。
                            </p>
                        </div>
                    </div>
                </div>

                <!-- Elasticsearch Performance -->
                <div class="bg-white rounded-xl shadow-md overflow-hidden card-hover">
                    <div class="p-6">
                        <h3 class="text-2xl font-bold mb-6 flex items-center">
                            <i class="fas fa-expand-arrows-alt text-green-500 mr-3"></i>
                            Elasticsearch 性能
                        </h3>
                        <p class="text-gray-700 mb-4">
                            Elasticsearch 通过分布式架构提升了性能，它能够支持大规模的数据集和高并发的请求。在 Elasticsearch 中，数据被分布到多个节点和分片上，负载可以在多个节点之间进行均衡，从而有效提高了查询性能。
                        </p>
                        <div class="p-4 rounded-lg bg-green-50">
                            <p class="text-gray-700">
                                此外，Elasticsearch 提供了 <strong>水平扩展</strong> 的能力，当数据量增大时，可以通过增加节点来进行扩展，系统会自动进行数据分片和副本的分配，从而避免了性能瓶颈。
                            </p>
                        </div>
                    </div>
                </div>
            </div>

            <!-- Performance Comparison Chart -->
            <div class="bg-white rounded-xl shadow-md overflow-hidden p-6" id="visualization">
                <h3 class="text-2xl font-bold mb-6 text-center">性能与扩展性对比可视化</h3>
                <div class="mermaid">
                    barChart
                        title 性能与扩展性对比
                        xAxis 指标
                        yAxis 表现
                        series Lucene,Elasticsearch
                        "单机性能" : 9,7
                        "分布式能力" : 2,10
                        "扩展性" : 3,10
                        "开发便捷性" : 5,9
                        "实时性能" : 7,8
                </div>
            </div>
        </section>

        <!-- Use Cases Section -->
        <section class="mb-20">
            <h2 class="text-3xl font-bold mb-8 pb-4 border-b border-gray-200 flex items-center">
                <span class="w-8 h-8 bg-blue-500 text-white rounded-full flex items-center justify-center mr-4">5</span>
                使用场景
            </h2>

            <div class="grid md:grid-cols-2 gap-8">
                <!-- Lucene Use Cases -->
                <div>
                    <h3 class="text-2xl font-bold mb-6 flex items-center">
                        <i class="fas fa-check-circle text-blue-500 mr-3"></i>
                        适合使用 Lucene 的场景
                    </h3>
                    <p class="text-gray-700 mb-6">
                        Lucene 适合那些需要高度自定义的搜索应用，以下是一些典型的场景：
                    </p>
                    <ul class="space-y-4">
                        <li class="flex items-start">
                            <div class="w-6 h-6 bg-blue-100 text-blue-600 rounded-full flex items-center justify-center flex-shrink-0 mt-1 mr-3">
                                <i class="fas fa-desktop"></i>
                            </div>
                            <span><strong>单机应用</strong>：例如小型的桌面应用或单一服务器的搜索服务。</span>
                        </li>
                        <li class="flex items-start">
                            <div class="w-6 h-6 bg-blue-100 text-blue-600 rounded-full flex items-center justify-center flex-shrink-0 mt-1 mr-3">
                                <i class="fas fa-cogs"></i>
                            </div>
                            <span><strong>定制化搜索</strong>：如果需要对搜索行为进行高度定制化，Lucene 提供了灵活的扩展点。</span>
                        </li>
                        <li class="flex items-start">
                            <div class="w-6 h-6 bg-blue-100 text-blue-600 rounded-full flex items-center justify-center flex-shrink-0 mt-1 mr-3">
                                <i class="fas fa-project-diagram"></i>
                            </div>
                            <span><strong>中小型项目</strong>：对于数据量不大、并发要求不高的项目，Lucene 可以满足需求。</span>
                        </li>
                    </ul>
                </div>

                <!-- Elasticsearch Use Cases -->
                <div>
                    <h3 class="text-2xl font-bold mb-6 flex items-center">
                        <i class="fas fa-check-circle text-green-500 mr-3"></i>
                        适合使用 Elasticsearch 的场景
                    </h3>
                    <p class="text-gray-700 mb-6">
                        Elasticsearch 更适合用于大规模、分布式、高并发的搜索服务，典型的场景包括：
                    </p>
                    <ul class="space-y-4">
                        <li class="flex items-start">
                            <div class="w-6 h-6 bg-green-100 text-green-600 rounded-full flex items-center justify-center flex-shrink-0 mt-1 mr-3">
                                <i class="fas fa-database"></i>
                            </div>
                            <span><strong>大数据量的实时搜索</strong>：例如电子商务网站、新闻门户，数据量大且需要实时索引和查询。</span>
                        </li>
                        <li class="flex items-start">
                            <div class="w-6 h-6 bg-green-100 text-green-600 rounded-full flex items-center justify-center flex-shrink-0 mt-1 mr-3">
                                <i class="fas fa-network-wired"></i>
                            </div>
                            <span><strong>分布式系统</strong>：如微服务架构中的搜索引擎，可以通过多台机器分布式处理请求。</span>
                        </li>
                        <li class="flex items-start">
                            <div class="w-6 h-6 bg-green-100 text-green-600 rounded-full flex items-center justify-center flex-shrink-0 mt-1 mr-3">
                                <i class="fas fa-chart-line"></i>
                            </div>
                            <span><strong>分析型应用</strong>：Elasticsearch 的聚合功能非常适合做大数据分析，像日志分析、用户行为分析等。</span>
                        </li>
                    </ul>
                </div>
            </div>
        </section>

        <!-- Cost Comparison Section -->
        <section class="mb-20">
            <h2 class="text-3xl font-bold mb-8 pb-4 border-b border-gray-200 flex items-center">
                <span class="w-8 h-8 bg-blue-500 text-white rounded-full flex items-center justify-center mr-4">6</span>
                开发与维护成本对比
            </h2>

            <div class="grid md:grid-cols-2 gap-8">
                <!-- Lucene Cost -->
                <div class="bg-white rounded-xl shadow-md overflow-hidden card-hover">
                    <div class="p-6">
                        <h3 class="text-2xl font-bold mb-6 flex items-center">
                            <i class="fas fa-code text-blue-500 mr-3"></i>
                            Lucene 开发与维护成本
                        </h3>
                        <p class="text-gray-700">
                            使用 Lucene 时，开发者需要手动处理索引的创建、存储、分片等基础设施。对于小规模项目，Lucene 提供了较高的性能，但当项目需要扩展时，开发者需要自行实现分布式架构，这可能带来较高的开发与维护成本。
                        </p>
                    </div>
                </div>

                <!-- Elasticsearch Cost -->
                <div class="bg-white rounded-xl shadow-md overflow-hidden card-hover">
                    <div class="p-6">
                        <h3 class="text-2xl font-bold mb-6 flex items-center">
                            <i class="fas fa-server text-green-500 mr-3"></i>
                            Elasticsearch 开发与维护成本
                        </h3>
                        <p class="text-gray-700">
                            Elasticsearch 提供了较高的抽象层，简化了索引管理、集群搭建、数据分片等复杂操作。它的 RESTful API 让开发者能够轻松与其他系统进行集成，且自带监控、日志等工具，使得管理和维护更加简便。Elasticsearch 的自动化管理和集群扩展功能，极大地降低了运维成本。
                        </p>
                    </div>
                </div>
            </div>
        </section>

        <!-- Summary Section -->
        <section class="mb-20">
            <div class="bg-gradient-to-r from-blue-500 to-green-500 rounded-xl shadow-xl overflow-hidden">
                <div class="p-8 text-white">
                    <h2 class="text-3xl font-bold mb-6">总结与选择建议</h2>
                    <div class="grid md:grid-cols-2 gap-8">
                        <div>
                            <h3 class="text-xl font-bold mb-4 flex items-center">
                                <i class="fas fa-thumbs-up mr-3"></i>
                                选择 Lucene 当...
                            </h3>
                            <ul class="space-y-2">
                                <li class="flex items-start">
                                    <i class="fas fa-check-circle mt-1 mr-2"></i>
                                    <span>需要高度定制化的搜索解决方案</span>
                                </li>
                                <li class="flex items-start">
                                    <i class="fas fa-check-circle mt-1 mr-2"></i>
                                    <span>项目规模较小，单机性能足够</span>
                                </li>
                                <li class="flex items-start">
                                    <i class="fas fa-check-circle mt-1 mr-2"></i>
                                    <span>对性能有极致要求，愿意承担更多开发成本</span>
                                </li>
                            </ul>
                        </div>
                        <div>
                            <h3 class="text-xl font-bold mb-4 flex items-center">
                                <i class="fas fa-thumbs-up mr-3"></i>
                                选择 Elasticsearch 当...
                            </h3>
                            <ul class="space-y-2">
                                <li class="flex items-start">
                                    <i class="fas fa-check-circle mt-1 mr-2"></i>
                                    <span>需要分布式、高可用的搜索解决方案</span>
                                </li>
                                <li class="flex items-start">
                                    <i class="fas fa-check-circle mt-1 mr-2"></i>
                                    <span>项目规模大，需要水平扩展能力</span>
                                </li>
                                <li class="flex items-start">
                                    <i class="fas fa-check-circle mt-1 mr-2"></i>
                                    <span>希望简化开发和运维工作</span>
                                </li>
                                <li class="flex items-start">
                                    <i class="fas fa-check-circle mt-1 mr-2"></i>
                                    <span>需要实时分析和聚合功能</span>
                                </li>
                            </ul>
                        </div>
                    </div>
                </div>
            </div>
        </section>
    </div>

    <!-- Footer -->
    <footer class="bg-gray-900 text-gray-300 py-12">
        <div class="container mx-auto max-w-5xl px-4 md:px-0 text-center">
            <div class="mb-6">
                <h3 class="text-xl font-bold text-white mb-2">技术小馆</h3>
                <a href="http://www.yuque.com/jtostring" class="text-blue-400 hover:text-blue-300 transition-colors duration-300">
                    <i class="fas fa-globe mr-2"></i>http://www.yuque.com/jtostring
                </a>
            </div>
            <p class="text-sm">© 2023 技术小馆. 保留所有权利.</p>
        </div>
    </footer>

    <script>
        mermaid.initialize({
            startOnLoad: true,
            theme: 'default',
            flowchart: {
                useMaxWidth: true,
                htmlLabels: true
            },
            securityLevel: 'loose'
        });
    </script>
</body>
</html>